/**
 * jQuery EasyUI 1.4.3
 *
 * Copyright (c) 2009-2015 www.jeasyui.com. All rights reserved.
 *
 * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
 * To use it on other terms please contact us at info@jeasyui.com
 *
 */
(function ($) {
    $.fn._remove = function () {
        return this.each(function () {
            $(this).remove();
            try {
                this.outerHTML = "";
            }
            catch (err) {
            }
        });
    };
    function _1(_2) {
        _2._remove();
    };
    function _3(_4, _5) {
        var _6 = $.data(_4, "panel");
        var _7 = _6.options;
        var _8 = _6.panel;
        var _9 = _8.children(".panel-header");
        var _a = _8.children(".panel-body");
        var _b = _8.children(".panel-footer");
        if (_5) {
            $.extend(_7, {
                width: _5.width,
                height: _5.height,
                minWidth: _5.minWidth,
                maxWidth: _5.maxWidth,
                minHeight: _5.minHeight,
                maxHeight: _5.maxHeight,
                left: _5.left,
                top: _5.top
            });
        }
        _8._size(_7);
        _9.add(_a)._outerWidth(_8.width());
        if (!isNaN(parseInt(_7.height))) {
            _a._outerHeight(_8.height() - _9._outerHeight() - _b._outerHeight());
        } else {
            _a.css("height", "");
            var _c = $.parser.parseValue("minHeight", _7.minHeight, _8.parent());
            var _d = $.parser.parseValue("maxHeight", _7.maxHeight, _8.parent());
            var _e = _9._outerHeight() + _b._outerHeight() + _8._outerHeight() - _8.height();
            _a._size("minHeight", _c ? (_c - _e) : "");
            _a._size("maxHeight", _d ? (_d - _e) : "");
        }
        _8.css({height: "", minHeight: "", maxHeight: "", left: _7.left, top: _7.top});
        _7.onResize.apply(_4, [_7.width, _7.height]);
        $(_4).panel("doLayout");
    };
    function _f(_10, _11) {
        var _12 = $.data(_10, "panel").options;
        var _13 = $.data(_10, "panel").panel;
        if (_11) {
            if (_11.left != null) {
                _12.left = _11.left;
            }
            if (_11.top != null) {
                _12.top = _11.top;
            }
        }
        _13.css({left: _12.left, top: _12.top});
        _12.onMove.apply(_10, [_12.left, _12.top]);
    };
    function _14(_15) {
        $(_15).addClass("panel-body")._size("clear");
        var _16 = $("<div class=\"panel\"></div>").insertBefore(_15);
        _16[0].appendChild(_15);
        _16.bind("_resize", function (e, _17) {
            if ($(this).hasClass("easyui-fluid") || _17) {
                _3(_15);
            }
            return false;
        });
        return _16;
    };
    function _18(_19) {
        var _1a = $.data(_19, "panel");
        var _1b = _1a.options;
        var _1c = _1a.panel;
        _1c.css(_1b.style);
        _1c.addClass(_1b.cls);
        _1d();
        _1e();
        var _1f = $(_19).panel("header");
        var _20 = $(_19).panel("body");
        var _21 = $(_19).siblings(".panel-footer");
        if (_1b.border) {
            _1f.removeClass("panel-header-noborder");
            _20.removeClass("panel-body-noborder");
            _21.removeClass("panel-footer-noborder");
        } else {
            _1f.addClass("panel-header-noborder");
            _20.addClass("panel-body-noborder");
            _21.addClass("panel-footer-noborder");
        }
        _1f.addClass(_1b.headerCls);
        _20.addClass(_1b.bodyCls);
        $(_19).attr("id", _1b.id || "");
        if (_1b.content) {
            $(_19).panel("clear");
            $(_19).html(_1b.content);
            $.parser.parse($(_19));
        }
        function _1d() {
            if (_1b.noheader || (!_1b.title && !_1b.header)) {
                _1(_1c.children(".panel-header"));
                _1c.children(".panel-body").addClass("panel-body-noheader");
            } else {
                if (_1b.header) {
                    $(_1b.header).addClass("panel-header").prependTo(_1c);
                } else {
                    var _22 = _1c.children(".panel-header");
                    if (!_22.length) {
                        _22 = $("<div class=\"panel-header\"></div>").prependTo(_1c);
                    }
                    if (!$.isArray(_1b.tools)) {
                        _22.find("div.panel-tool .panel-tool-a").appendTo(_1b.tools);
                    }
                    _22.empty();
                    var _23 = $("<div class=\"panel-title\"></div>").html(_1b.title).appendTo(_22);
                    if (_1b.iconCls) {
                        _23.addClass("panel-with-icon");
                        $("<div class=\"panel-icon\"></div>").addClass(_1b.iconCls).appendTo(_22);
                    }
                    var _24 = $("<div class=\"panel-tool\"></div>").appendTo(_22);
                    _24.bind("click", function (e) {
                        e.stopPropagation();
                    });
                    if (_1b.tools) {
                        if ($.isArray(_1b.tools)) {
                            $.map(_1b.tools, function (t) {
                                _25(_24, t.iconCls, eval(t.handler));
                            });
                        } else {
                            $(_1b.tools).children().each(function () {
                                $(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(_24);
                            });
                        }
                    }
                    if (_1b.collapsible) {
                        _25(_24, "panel-tool-collapse", function () {
                            if (_1b.collapsed == true) {
                                _4d(_19, true);
                            } else {
                                _3b(_19, true);
                            }
                        });
                    }
                    if (_1b.minimizable) {
                        _25(_24, "panel-tool-min", function () {
                            _58(_19);
                        });
                    }
                    if (_1b.maximizable) {
                        _25(_24, "panel-tool-max", function () {
                            if (_1b.maximized == true) {
                                _5c(_19);
                            } else {
                                _3a(_19);
                            }
                        });
                    }
                    if (_1b.closable) {
                        _25(_24, "panel-tool-close", function () {
                            _3c(_19);
                        });
                    }
                }
                _1c.children("div.panel-body").removeClass("panel-body-noheader");
            }
        };
        function _25(c, _26, _27) {
            var a = $("<a href=\"javascript:void(0)\"></a>").addClass(_26).appendTo(c);
            a.bind("click", _27);
        };
        function _1e() {
            if (_1b.footer) {
                $(_1b.footer).addClass("panel-footer").appendTo(_1c);
                $(_19).addClass("panel-body-nobottom");
            } else {
                _1c.children(".panel-footer").remove();
                $(_19).removeClass("panel-body-nobottom");
            }
        };
    };
    function _28(_29, _2a) {
        var _2b = $.data(_29, "panel");
        var _2c = _2b.options;
        if (_2d) {
            _2c.queryParams = _2a;
        }
        if (!_2c.href) {
            return;
        }
        if (!_2b.isLoaded || !_2c.cache) {
            var _2d = $.extend({}, _2c.queryParams);
            if (_2c.onBeforeLoad.call(_29, _2d) == false) {
                return;
            }
            _2b.isLoaded = false;
            $(_29).panel("clear");
            if (_2c.loadingMessage) {
                $(_29).html($("<div class=\"panel-loading\"></div>").html(_2c.loadingMessage));
            }
            _2c.loader.call(_29, _2d, function (_2e) {
                var _2f = _2c.extractor.call(_29, _2e);
                $(_29).html(_2f);
                $.parser.parse($(_29));
                _2c.onLoad.apply(_29, arguments);
                _2b.isLoaded = true;
            }, function () {
                _2c.onLoadError.apply(_29, arguments);
            });
        }
    };
    function _30(_31) {
        var t = $(_31);
        t.find(".combo-f").each(function () {
            $(this).combo("destroy");
        });
        t.find(".m-btn").each(function () {
            $(this).menubutton("destroy");
        });
        t.find(".s-btn").each(function () {
            $(this).splitbutton("destroy");
        });
        t.find(".tooltip-f").each(function () {
            $(this).tooltip("destroy");
        });
        t.children("div").each(function () {
            $(this)._size("unfit");
        });
        t.empty();
    };
    function _32(_33) {
        $(_33).panel("doLayout", true);
    };
    function _34(_35, _36) {
        var _37 = $.data(_35, "panel").options;
        var _38 = $.data(_35, "panel").panel;
        if (_36 != true) {
            if (_37.onBeforeOpen.call(_35) == false) {
                return;
            }
        }
        _38.stop(true, true);
        if ($.isFunction(_37.openAnimation)) {
            _37.openAnimation.call(_35, cb);
        } else {
            switch (_37.openAnimation) {
                case "slide":
                    _38.slideDown(_37.openDuration, cb);
                    break;
                case "fade":
                    _38.fadeIn(_37.openDuration, cb);
                    break;
                case "show":
                    _38.show(_37.openDuration, cb);
                    break;
                default:
                    _38.show();
                    cb();
            }
        }
        function cb() {
            _37.closed = false;
            _37.minimized = false;
            var _39 = _38.children(".panel-header").find("a.panel-tool-restore");
            if (_39.length) {
                _37.maximized = true;
            }
            _37.onOpen.call(_35);
            if (_37.maximized == true) {
                _37.maximized = false;
                _3a(_35);
            }
            if (_37.collapsed == true) {
                _37.collapsed = false;
                _3b(_35);
            }
            if (!_37.collapsed) {
                _28(_35);
                _32(_35);
            }
        };
    };
    function _3c(_3d, _3e) {
        var _3f = $.data(_3d, "panel").options;
        var _40 = $.data(_3d, "panel").panel;
        if (_3e != true) {
            if (_3f.onBeforeClose.call(_3d) == false) {
                return;
            }
        }
        _40.stop(true, true);
        _40._size("unfit");
        if ($.isFunction(_3f.closeAnimation)) {
            _3f.closeAnimation.call(_3d, cb);
        } else {
            switch (_3f.closeAnimation) {
                case "slide":
                    _40.slideUp(_3f.closeDuration, cb);
                    break;
                case "fade":
                    _40.fadeOut(_3f.closeDuration, cb);
                    break;
                case "hide":
                    _40.hide(_3f.closeDuration, cb);
                    break;
                default:
                    _40.hide();
                    cb();
            }
        }
        function cb() {
            _3f.closed = true;
            _3f.onClose.call(_3d);
        };
    };
    function _41(_42, _43) {
        var _44 = $.data(_42, "panel");
        var _45 = _44.options;
        var _46 = _44.panel;
        if (_43 != true) {
            if (_45.onBeforeDestroy.call(_42) == false) {
                return;
            }
        }
        $(_42).panel("clear").panel("clear", "footer");
        _1(_46);
        _45.onDestroy.call(_42);
    };
    function _3b(_47, _48) {
        var _49 = $.data(_47, "panel").options;
        var _4a = $.data(_47, "panel").panel;
        var _4b = _4a.children(".panel-body");
        var _4c = _4a.children(".panel-header").find("a.panel-tool-collapse");
        if (_49.collapsed == true) {
            return;
        }
        _4b.stop(true, true);
        if (_49.onBeforeCollapse.call(_47) == false) {
            return;
        }
        _4c.addClass("panel-tool-expand");
        if (_48 == true) {
            _4b.slideUp("normal", function () {
                _49.collapsed = true;
                _49.onCollapse.call(_47);
            });
        } else {
            _4b.hide();
            _49.collapsed = true;
            _49.onCollapse.call(_47);
        }
    };
    function _4d(_4e, _4f) {
        var _50 = $.data(_4e, "panel").options;
        var _51 = $.data(_4e, "panel").panel;
        var _52 = _51.children(".panel-body");
        var _53 = _51.children(".panel-header").find("a.panel-tool-collapse");
        if (_50.collapsed == false) {
            return;
        }
        _52.stop(true, true);
        if (_50.onBeforeExpand.call(_4e) == false) {
            return;
        }
        _53.removeClass("panel-tool-expand");
        if (_4f == true) {
            _52.slideDown("normal", function () {
                _50.collapsed = false;
                _50.onExpand.call(_4e);
                _28(_4e);
                _32(_4e);
            });
        } else {
            _52.show();
            _50.collapsed = false;
            _50.onExpand.call(_4e);
            _28(_4e);
            _32(_4e);
        }
    };
    function _3a(_54) {
        var _55 = $.data(_54, "panel").options;
        var _56 = $.data(_54, "panel").panel;
        var _57 = _56.children(".panel-header").find("a.panel-tool-max");
        if (_55.maximized == true) {
            return;
        }
        _57.addClass("panel-tool-restore");
        if (!$.data(_54, "panel").original) {
            $.data(_54, "panel").original = {
                width: _55.width,
                height: _55.height,
                left: _55.left,
                top: _55.top,
                fit: _55.fit
            };
        }
        _55.left = 0;
        _55.top = 0;
        _55.fit = true;
        _3(_54);
        _55.minimized = false;
        _55.maximized = true;
        _55.onMaximize.call(_54);
    };
    function _58(_59) {
        var _5a = $.data(_59, "panel").options;
        var _5b = $.data(_59, "panel").panel;
        _5b._size("unfit");
        _5b.hide();
        _5a.minimized = true;
        _5a.maximized = false;
        _5a.onMinimize.call(_59);
    };
    function _5c(_5d) {
        var _5e = $.data(_5d, "panel").options;
        var _5f = $.data(_5d, "panel").panel;
        var _60 = _5f.children(".panel-header").find("a.panel-tool-max");
        if (_5e.maximized == false) {
            return;
        }
        _5f.show();
        _60.removeClass("panel-tool-restore");
        $.extend(_5e, $.data(_5d, "panel").original);
        _3(_5d);
        _5e.minimized = false;
        _5e.maximized = false;
        $.data(_5d, "panel").original = null;
        _5e.onRestore.call(_5d);
    };
    function _61(_62, _63) {
        $.data(_62, "panel").options.title = _63;
        $(_62).panel("header").find("div.panel-title").html(_63);
    };
    var _64 = null;
    $(window).unbind(".panel").bind("resize.panel", function () {
        if (_64) {
            clearTimeout(_64);
        }
        _64 = setTimeout(function () {
            var _65 = $("body.layout");
            if (_65.length) {
                _65.layout("resize");
                $("body").children(".easyui-fluid:visible").each(function () {
                    $(this).triggerHandler("_resize");
                });
            } else {
                $("body").panel("doLayout");
            }
            _64 = null;
        }, 100);
    });
    $.fn.panel = function (_66, _67) {
        if (typeof _66 == "string") {
            return $.fn.panel.methods[_66](this, _67);
        }
        _66 = _66 || {};
        return this.each(function () {
            var _68 = $.data(this, "panel");
            var _69;
            if (_68) {
                _69 = $.extend(_68.options, _66);
                _68.isLoaded = false;
            } else {
                _69 = $.extend({}, $.fn.panel.defaults, $.fn.panel.parseOptions(this), _66);
                $(this).attr("title", "");
                _68 = $.data(this, "panel", {options: _69, panel: _14(this), isLoaded: false});
            }
            _18(this);
            if (_69.doSize == true) {
                _68.panel.css("display", "block");
                _3(this);
            }
            if (_69.closed == true || _69.minimized == true) {
                _68.panel.hide();
            } else {
                _34(this);
            }
        });
    };
    $.fn.panel.methods = {
        options: function (jq) {
            return $.data(jq[0], "panel").options;
        }, panel: function (jq) {
            return $.data(jq[0], "panel").panel;
        }, header: function (jq) {
            return $.data(jq[0], "panel").panel.children(".panel-header");
        }, footer: function (jq) {
            return jq.panel("panel").children(".panel-footer");
        }, body: function (jq) {
            return $.data(jq[0], "panel").panel.children(".panel-body");
        }, setTitle: function (jq, _6a) {
            return jq.each(function () {
                _61(this, _6a);
            });
        }, open: function (jq, _6b) {
            return jq.each(function () {
                _34(this, _6b);
            });
        }, close: function (jq, _6c) {
            return jq.each(function () {
                _3c(this, _6c);
            });
        }, destroy: function (jq, _6d) {
            return jq.each(function () {
                _41(this, _6d);
            });
        }, clear: function (jq, _6e) {
            return jq.each(function () {
                _30(_6e == "footer" ? $(this).panel("footer") : this);
            });
        }, refresh: function (jq, _6f) {
            return jq.each(function () {
                var _70 = $.data(this, "panel");
                _70.isLoaded = false;
                if (_6f) {
                    if (typeof _6f == "string") {
                        _70.options.href = _6f;
                    } else {
                        _70.options.queryParams = _6f;
                    }
                }
                _28(this);
            });
        }, resize: function (jq, _71) {
            return jq.each(function () {
                _3(this, _71);
            });
        }, doLayout: function (jq, all) {
            return jq.each(function () {
                _72(this, "body");
                _72($(this).siblings(".panel-footer")[0], "footer");
                function _72(_73, _74) {
                    if (!_73) {
                        return;
                    }
                    var _75 = _73 == $("body")[0];
                    var s = $(_73).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function (_76, el) {
                        var p = $(el).parents(".panel-" + _74 + ":first");
                        return _75 ? p.length == 0 : p[0] == _73;
                    });
                    s.each(function () {
                        $(this).triggerHandler("_resize", [all || false]);
                    });
                };
            });
        }, move: function (jq, _77) {
            return jq.each(function () {
                _f(this, _77);
            });
        }, maximize: function (jq) {
            return jq.each(function () {
                _3a(this);
            });
        }, minimize: function (jq) {
            return jq.each(function () {
                _58(this);
            });
        }, restore: function (jq) {
            return jq.each(function () {
                _5c(this);
            });
        }, collapse: function (jq, _78) {
            return jq.each(function () {
                _3b(this, _78);
            });
        }, expand: function (jq, _79) {
            return jq.each(function () {
                _4d(this, _79);
            });
        }
    };
    $.fn.panel.parseOptions = function (_7a) {
        var t = $(_7a);
        var hh = t.children(".panel-header,header");
        var ff = t.children(".panel-footer,footer");
        return $.extend({}, $.parser.parseOptions(_7a, ["id", "width", "height", "left", "top", "title", "iconCls", "cls", "headerCls", "bodyCls", "tools", "href", "method", "header", "footer", {
            cache: "boolean",
            fit: "boolean",
            border: "boolean",
            noheader: "boolean"
        }, {collapsible: "boolean", minimizable: "boolean", maximizable: "boolean"}, {
            closable: "boolean",
            collapsed: "boolean",
            minimized: "boolean",
            maximized: "boolean",
            closed: "boolean"
        }, "openAnimation", "closeAnimation", {
            openDuration: "number",
            closeDuration: "number"
        },]), {
            loadingMessage: (t.attr("loadingMessage") != undefined ? t.attr("loadingMessage") : undefined),
            header: (hh.length ? hh.removeClass("panel-header") : undefined),
            footer: (ff.length ? ff.removeClass("panel-footer") : undefined)
        });
    };
    $.fn.panel.defaults = {
        id: null,
        title: null,
        iconCls: null,
        width: "auto",
        height: "auto",
        left: null,
        top: null,
        cls: null,
        headerCls: null,
        bodyCls: null,
        style: {},
        href: null,
        cache: true,
        fit: false,
        border: true,
        doSize: true,
        noheader: false,
        content: null,
        collapsible: false,
        minimizable: false,
        maximizable: false,
        closable: false,
        collapsed: false,
        minimized: false,
        maximized: false,
        closed: false,
        openAnimation: false,
        openDuration: 400,
        closeAnimation: false,
        closeDuration: 400,
        tools: null,
        footer: null,
        header: null,
        queryParams: {},
        method: "get",
        href: null,
        loadingMessage: "Loading...",
        loader: function (_7b, _7c, _7d) {
            var _7e = $(this).panel("options");
            if (!_7e.href) {
                return false;
            }
            $.ajax({
                type: _7e.method, url: _7e.href, cache: false, data: _7b, dataType: "html", success: function (_7f) {
                    _7c(_7f);
                }, error: function () {
                    _7d.apply(this, arguments);
                }
            });
        },
        extractor: function (_80) {
            var _81 = /<body[^>]*>((.|[\n\r])*)<\/body>/im;
            var _82 = _81.exec(_80);
            if (_82) {
                return _82[1];
            } else {
                return _80;
            }
        },
        onBeforeLoad: function (_83) {
        },
        onLoad: function () {
        },
        onLoadError: function () {
        },
        onBeforeOpen: function () {
        },
        onOpen: function () {
        },
        onBeforeClose: function () {
        },
        onClose: function () {
        },
        onBeforeDestroy: function () {
        },
        onDestroy: function () {
        },
        onResize: function (_84, _85) {
        },
        onMove: function (_86, top) {
        },
        onMaximize: function () {
        },
        onRestore: function () {
        },
        onMinimize: function () {
        },
        onBeforeCollapse: function () {
        },
        onBeforeExpand: function () {
        },
        onCollapse: function () {
        },
        onExpand: function () {
        }
    };
})(jQuery);

